package com.ruoyi.custom.domain;

import java.math.BigDecimal;
import java.sql.Timestamp;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 充值管理对象 recharge_record
 * 
 * @author ruoyi
 * @date 2024-04-08
 */
public class RechargeRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键，唯一标识充值记录 */
    @Excel(name = "充值订单编码")
    private Long id;

    /** 会员ID，与会员表关联 */
    @Excel(name = "会员姓名")
    private Long memberId;

    /** 充值金额，保留2位小数，以确保金额的精确性 */
    @Excel(name = "充值金额")
    private BigDecimal rechargeAmount;

    /** 充值时间，记录充值发生的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充值时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Timestamp rechargeTime;

    /** 是否显示该记录，TRUE表示显示，FALSE表示不显示 */
    private Integer isVisible;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public BigDecimal getRechargeAmount() {
        return rechargeAmount;
    }

    public void setRechargeAmount(BigDecimal rechargeAmount) {
        this.rechargeAmount = rechargeAmount;
    }

    public Timestamp getRechargeTime() {
        return rechargeTime;
    }

    public void setRechargeTime(Timestamp rechargeTime) {
        this.rechargeTime = rechargeTime;
    }

    public Integer getIsVisible() {
        return isVisible;
    }

    public void setIsVisible(Integer isVisible) {
        this.isVisible = isVisible;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("memberId", getMemberId())
            .append("rechargeAmount", getRechargeAmount())
            .append("rechargeTime", getRechargeTime())
            .append("isVisible", getIsVisible())
            .toString();
    }
}
